package com.ruoyi.exam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.exam.domain.ExamQuestionFavorite;
import com.ruoyi.exam.vo.ExamQuestionFavoriteVo;
import com.ruoyi.exam.vo.MyFavoriteQuestionVo;
import com.ruoyi.exam.vo.BankFavoriteQuestionInfoVo;

import java.util.List;

/**
 * 题目收藏Service接口
 *
 * @author Tellsea
 * @date 2025-05-30
 */
public interface IExamQuestionFavoriteService extends IService<ExamQuestionFavorite> {

    /**
     * 分页查询
     *
     * @param entity
     * @return
     */
    TableDataInfo<ExamQuestionFavoriteVo> queryList(ExamQuestionFavoriteVo entity);

    /**
     * 查询全部
     *
     * @param entity
     * @return
     */
    List<ExamQuestionFavoriteVo> queryAll(ExamQuestionFavoriteVo entity);

    /**
     * 根据ID查询
     *
     * @param favoriteId
     * @return
     */
    ExamQuestionFavoriteVo queryById(Long favoriteId);

    /**
     * 分页查询我的收藏题目列表
     *
     * @param userId 用户ID
     * @param entity 查询条件
     * @return 我的收藏题目列表
     */
    TableDataInfo<MyFavoriteQuestionVo> queryMyFavoriteQuestions(Long userId, MyFavoriteQuestionVo entity);

    /**
     * 获取用户收藏的指定题库的题目信息
     *
     * @param userId 用户ID
     * @param bankId 题库ID
     * @return 题库收藏题目信息
     */
    BankFavoriteQuestionInfoVo getBankFavoriteQuestionInfo(Long userId, Long bankId);
}
